
#ifndef DRAW_H
#define DRAW_H
#include <string>
#include "sdl.h"
#include "sdl_image.h"
#include <SDL_thread.h>
#include "SDL_ttf.h"
class Draw
{
public:
	Draw(void);
	~Draw(void);

		static const int SCREEN_BPP = 32;
	static const int TILE_SIZE = 32; 
	static const int NUM_TILES_X = 60;//SCREEN_WIDTH/TILE_SIZE;
	static const int NUM_TILES_Y = 33;//SCREEN_HEIGHT/TILE_SIZE;
	static const int SCREEN_HEIGHT = 1080;//TILE_SIZE*NUM_TILES_Y;//make sure these are divisible by TILE_SIZE
	static const int SCREEN_WIDTH = 1920;//TILE_SIZE*NUM_TILES_X; 
	static const int NUM_IMAGES = 900;
	static const int TILESET_WIDTH = 30;//number of tiles wide the tileset is
	static void putTextAt(int x, int y, std::string text);
	static void putTextAt(int x, int y, std::string text, SDL_Surface* surface);
	static SDL_Surface *screen;
	static TTF_Font *font;
	static SDL_Surface *load_image(std::string const& path, bool alpha = false);
	static SDL_Surface * text;
	static SDL_Color * textColor;
	static void setColor(SDL_Surface *surface, SDL_Color color);
	static void apply_surface(const int x, const int y,  SDL_Surface* source, SDL_Surface* destination,  SDL_Rect* clip = NULL );
	
	static void apply_surface(const int x, const int y,  SDL_Surface* source, SDL_Rect* clip = NULL );
	static double distanceFormula(int x1, int y1, int x2, int y2);
	//move method should be added here, and this class should be made a friend of tm->move.
	//this way you call move from the object you want moved. Then we can use info from this class to determine HOW LONG it takes for that thing to move
	//or perhaps this is all something that should be inside of the player/actor classes.
	//regardless the time it takes to move is important
};

#endif